hidden fun0 = () -> new Dynamic { zero = 0 }
hidden amend0 = (fun0) {
  amended = "amended"
}
res0 = amend0.apply()

hidden fun1 = (a) -> new Dynamic { one = a }
hidden amend1 = (fun1) {
  amended = "amended"
}
res1 = amend1.apply(1)

hidden fun2 = (a, b) -> new Dynamic { one = a; two = b }
hidden amend2 = (fun2) {
  amended = "amended"
}
res2 = amend2.apply(1, 2)

hidden fun3 = (a, b, c) -> new Dynamic { one = a; two = b; three = c }
hidden amend3 = (fun3) {
  amended = "amended"
}
res3 = amend3.apply(1, 2, 3)

hidden fun4 = (a, b, c, d) -> new Dynamic { one = a; two = b; three = c; four = d }
hidden amend4 = (fun4) {
  amended = "amended"
}
res4 = amend4.apply(1, 2, 3, 4)

hidden fun5 = (a, b, c, d, e) -> new Dynamic { one = a; two = b; three = c; four = d; five = e }
hidden amend5 = (fun5) {
  amended = "amended"
}
res5 = amend5.apply(1, 2, 3, 4, 5)
